樣板 B 樹 ( B - tree )
規(guī)則 :
(1) 每個節(jié)點(diǎn)內(nèi)元素個數(shù)在 [MIN,2*MIN] 之間, 但根節(jié)點(diǎn)元素個數(shù)為 [1,2*MIN]
(2) 節(jié)點(diǎn)內(nèi)元素由小排到大, 元素不重複
(3) 每個節(jié)點(diǎn)內(nèi)的指標(biāo)個數(shù)為元素個數(shù)加一
(4) 第 i 個指標(biāo)所指向的子節(jié)點(diǎn)內(nèi)的所有元素值皆小於父節(jié)點(diǎn)的第 i 個元素
(5) B 樹內(nèi)的所有末端節(jié)點(diǎn)深度一樣
The government of a small but important country has decided that the alphabet needs to be streamlined and reordered. Uppercase letters will be eliminated. They will issue a royal decree in the form of a String of B and A characters. The first character in the decree specifies whether a must come ( B )Before b in the new alphabet or ( A )After b . The second character determines the relative placement of b and c , etc. So, for example, "BAA" means that a must come Before b , b must come After c , and c must come After d .
Any letters beyond these requirements are to be excluded, so if the decree specifies k comparisons then the new alphabet will contain the first k+1 lowercase letters of the current alphabet.
Create a class Alphabet that contains the method choices that takes the decree as input and returns the number of possible new alphabets that conform to the decree. If more than 1,000,000,000 are possible, return -1.
Definition
We have a group of N items (represented by integers from 1 to N), and we know that there is some total order defined for these items. You may assume that no two elements will be equal (for all a, b: a<b or b<a). However, it is expensive to compare two items. Your task is to make a number of comparisons, and then output the sorted order. The cost of determining if a < b is given by the bth integer of element a of costs (space delimited), which is the same as the ath integer of element b. Naturally, you will be judged on the total cost of the comparisons you make before outputting the sorted order. If your order is incorrect, you will receive a 0. Otherwise, your score will be opt/cost, where opt is the best cost anyone has achieved and cost is the total cost of the comparisons you make (so your score for a test case will be between 0 and 1). Your score for the problem will simply be the sum of your scores for the individual test cases.